﻿Imports System.Windows.Forms

Imports Microsoft.VisualStudio.TestTools.UnitTesting

Imports RetroGames
Imports System.Drawing



'''<summary>
'''Se trata de una clase de prueba para JugarParejasTest y se pretende que
'''contenga todas las pruebas unitarias JugarParejasTest.
'''</summary>
<TestClass()> _
Public Class JugarParejasTest


    Private testContextInstance As TestContext

    '''<summary>
    '''Obtiene o establece el contexto de la prueba que proporciona
    '''la información y funcionalidad para la ejecución de pruebas actual.
    '''</summary>
    Public Property TestContext() As TestContext
        Get
            Return testContextInstance
        End Get
        Set(ByVal value As TestContext)
            testContextInstance = value
        End Set
    End Property

#Region "Atributos de prueba adicionales"
    '
    'Puede utilizar los siguientes atributos adicionales mientras escribe sus pruebas:
    '
    'Use ClassInitialize para ejecutar código antes de ejecutar la primera prueba en la clase 
    '<ClassInitialize()>  _
    'Public Shared Sub MyClassInitialize(ByVal testContext As TestContext)
    'End Sub
    '
    'Use ClassCleanup para ejecutar código después de haber ejecutado todas las pruebas en una clase
    '<ClassCleanup()>  _
    'Public Shared Sub MyClassCleanup()
    'End Sub
    '
    'Use TestInitialize para ejecutar código antes de ejecutar cada prueba
    '<TestInitialize()>  _
    'Public Sub MyTestInitialize()
    'End Sub
    '
    'Use TestCleanup para ejecutar código después de que se hayan ejecutado todas las pruebas
    '<TestCleanup()>  _
    'Public Sub MyTestCleanup()
    'End Sub
    '
#End Region


    '''<summary>
    '''Una prueba de encontrado
    '''</summary>
    <TestMethod()> _
    Public Sub encontradoTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        Dim pic1 As New PictureBox  ' TODO: Inicializar en un valor adecuado
        Dim pic2 As New PictureBox ' TODO: Inicializar en un valor adecuado
        pic1.Tag = "1"
        pic2.Tag = "1"
        Dim expected As Boolean = True ' TODO: Inicializar en un valor adecuado
        Dim actual As Boolean
        actual = target.encontrado(pic1, pic2)
        Assert.AreEqual(expected, actual)
    End Sub

    '''<summary>
    '''Una prueba de nombrar
    '''</summary>
    <TestMethod()> _
    Public Sub nombrarTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        Dim pic As New PictureBox ' TODO: Inicializar en un valor adecuado
        Dim expected As Integer = 0 ' TODO: Inicializar en un valor adecuado
        pic.Tag = "1"
        Dim actual As Integer
        actual = target.nombrar(pic)
        Assert.IsTrue(actual >= 1 And actual <= 12)
    End Sub

    '''<summary>
    '''Una prueba de restablecerClick
    '''</summary>
    <TestMethod()> _
    Public Sub restablecerClickTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        target.restablecerClick()
        Assert.IsTrue(target.NumClick = 0)
    End Sub

    '''<summary>
    '''Una prueba de tapar
    '''</summary>
    <TestMethod()> _
    Public Sub taparTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        Dim pic1 As New PictureBox  ' TODO: Inicializar en un valor adecuado
        Dim pic2 As New PictureBox ' TODO: Inicializar en un valor adecuado
        pic1.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\parejas" & "1" & ".png")
        pic2.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\parejas" & "1" & ".png")
        pic1.Enabled = False
        pic2.Enabled = False
        target.tapar(pic1, pic2)
        Assert.IsTrue(IsNothing(pic1.Image) And IsNothing(pic2.Image) And pic1.Enabled And pic2.Enabled)
    End Sub

    '''<summary>
    '''Una prueba de sumarClick
    '''</summary>
    <TestMethod()> _
    Public Sub sumarClickTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        target.sumarClick()
        Assert.IsTrue(target.NumClick = 1)
        target.sumarClick()
        Assert.IsTrue(target.NumClick = 2)
    End Sub

    '''<summary>
    '''Una prueba de destapar
    '''</summary>
    <TestMethod()> _
    Public Sub destaparTest()
        Dim target As JugarParejas = New JugarParejas() ' TODO: Inicializar en un valor adecuado
        Dim pic As New PictureBox ' TODO: Inicializar en un valor adecuado
        Dim num As Integer = 1 ' TODO: Inicializar en un valor adecuado
        target.destapar(pic, num)
        Assert.IsTrue(Not IsNothing(pic.Image))
    End Sub
End Class
